package com.finance.web.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.finance.common.annotation.Excel;
import com.finance.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 日记账对象 fm_journal
 *
 * @author lisen
 * @date 2021-11-11
 */
public class FmJournal extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 操作用户id */
    @Excel(name = "操作用户id")
    private Long userId;

    /** 操作用户姓名 */
    @Excel(name = "操作用户姓名")
    private String userName;

    /** 发生时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发生时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recordDate;

    /** 摘要 */
    private String digest;

    /** 用途 */
    private String uses;

    /** 账户编号 */
    @Excel(name = "账户编号")
    private Long accountId;

    /** 发生金额 */
    @Excel(name = "发生金额")
    private BigDecimal amount;

    /** 金额类型 */
    @Excel(name = "金额类型")
    private String amountType;

    /** 余额 */
    @Excel(name = "余额")
    private BigDecimal balance;

    /** 现金流量项目 */
    @Excel(name = "现金流量项目")
    private String cashFlowItems;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setRecordDate(Date recordDate)
    {
        this.recordDate = recordDate;
    }

    public Date getRecordDate()
    {
        return recordDate;
    }
    public void setDigest(String digest)
    {
        this.digest = digest;
    }

    public String getDigest()
    {
        return digest;
    }
    public void setUses(String uses)
    {
        this.uses = uses;
    }

    public String getUses()
    {
        return uses;
    }
    public void setAccountId(Long accountId)
    {
        this.accountId = accountId;
    }

    public Long getAccountId()
    {
        return accountId;
    }
    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }
    public void setAmountType(String amountType)
    {
        this.amountType = amountType;
    }

    public String getAmountType()
    {
        return amountType;
    }
    public void setBalance(BigDecimal balance)
    {
        this.balance = balance;
    }

    public BigDecimal getBalance()
    {
        return balance;
    }
    public void setCashFlowItems(String cashFlowItems)
    {
        this.cashFlowItems = cashFlowItems;
    }

    public String getCashFlowItems()
    {
        return cashFlowItems;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("recordDate", getRecordDate())
            .append("digest", getDigest())
            .append("uses", getUses())
            .append("accountId", getAccountId())
            .append("amount", getAmount())
            .append("amountType", getAmountType())
            .append("balance", getBalance())
            .append("cashFlowItems", getCashFlowItems())
            .append("createTime", getCreateTime())
            .toString();
    }
}
